#ifndef FILEHANDLER_H
#define FILEHANDLER_H

#include <QString>
#include <QFile>
#include <QFileInfo>
#include <QDebug>
#include <QDir>

/**
 * @brief 文件处理基类，提供通用的文件操作和错误处理功能
 */
class FileHandler {
public:
    /**
     * @brief 构造函数，初始化文件处理对象
     */
    FileHandler();
    
    /**
     * @brief 虚析构函数，确保派生类资源正确释放
     */
    virtual ~FileHandler() = default;
    
    /**
     * @brief 获取最后一次错误信息
     * @return 错误信息字符串
     */
    QString errorMessage() const;
    
    /**
     * @brief 检查文件是否存在
     * @param filePath 文件路径
     * @return 文件存在返回true，否则返回false
     */
    bool fileExists(const QString &filePath) const;
    
    /**
     * @brief 创建目录
     * @param dirPath 目录路径
     * @return 创建成功返回true，失败返回false
     */
    bool createDirectory(const QString &dirPath);
    
protected:
    /**
     * @brief 设置错误信息
     * @param error 错误信息
     */
    void setErrorMessage(const QString &error);
    
    /**
     * @brief 清空错误信息
     */
    void clearErrorMessage();
    
private:
    QString lastError; // 最后错误信息
};

#endif // FILEHANDLER_H